long swap(long *xp, long *yp){
    long x = *xp;
    long y = *yp;
    *xp = y;
    *yp = x;
    return x + y;
}


long caller(){
    long arg1 = 534;
    long arg2 = 1057;
    long sum = swap(&arg1, &arg2);
    long diff = arg1 - arg2;
    return sum * diff;
}

/*

gcc -Og -c caller.c
gcc -Og -S caller.c
gcc -O2 -S caller.c
objdump -d caller.o

*/